package com.project.model.core;

import com.project.model.common.BaseEntity;

import java.util.Date;
import java.util.List;

/**
 * 管理员
 *
 * @version 1.0 2016-04-20
 */
public class Admin extends BaseEntity {

    private static final long serialVersionUID = 2516457929834496L;

    /**
     * 登录名称
     */
    private String loginName;

    /**
     * 用户名
     */
    private String userName;

    /**
     * 密码
     */
    private String password;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * email
     */
    private String email;

    /**
     * 部门
     */
    private Long dept;

    /**
     * 是否锁定
     */
    private Boolean isLocked;

    /**
     * 账户状态：
     * 0：正常
     * 1：锁定
     */
    private Integer status;

    /**
     * 锁定时间
     */
    private Date lockedDate;

    /**
     * 登录失败次数
     */
    private Integer loginFailCount;


    /* ************************* 扩展属性 ********************************/
    private List<Role> roles; //admin与role级联属性
    private String roleNames; //角色名称拼接字符串

    /**
     * 获取登录名称
     */
    public String getLoginName() {
        return loginName;
    }

    /**
     * 设置登录名称
     */
    public void setLoginName(String loginName) {
        this.loginName = loginName == null ? null : loginName.trim();
    }

    /**
     * 获取用户名
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 设置用户名
     */
    public void setUserName(String userName) {
        this.userName = userName == null ? null : userName.trim();
    }

    /**
     * 获取密码
     */
    public String getPassword() {
        return password;
    }

    /**
     * 设置密码
     */
    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    /**
     * 获取手机号
     */
    public String getMobile() {
        return mobile;
    }

    /**
     * 设置手机号
     */
    public void setMobile(String mobile) {
        this.mobile = mobile == null ? null : mobile.trim();
    }

    /**
     * 获取email
     */
    public String getEmail() {
        return email;
    }

    /**
     * 设置email
     */
    public void setEmail(String email) {
        this.email = email == null ? null : email.trim();
    }

    /**
     * 获取部门
     */
    public Long getDept() {
        return dept;
    }

    /**
     * 设置部门
     */
    public void setDept(Long dept) {
        this.dept = dept;
    }

    /**
     * 获取是否锁定
     */
    public Boolean getIsLocked() {
        return isLocked;
    }

    /**
     * 设置是否锁定
     */
    public void setIsLocked(Boolean isLocked) {
        this.isLocked = isLocked;
    }

    /**
     * 获取账户状态：
     * 0：正常
     * 1：锁定
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置账户状态：
     * 0：正常
     * 1：锁定
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取锁定时间
     */
    public Date getLockedDate() {
        return lockedDate;
    }

    /**
     * 设置锁定时间
     */
    public void setLockedDate(Date lockedDate) {
        this.lockedDate = lockedDate;
    }

    /**
     * 获取登录失败次数
     */
    public Integer getLoginFailCount() {
        return loginFailCount;
    }

    /**
     * 设置登录失败次数
     */
    public void setLoginFailCount(Integer loginFailCount) {
        this.loginFailCount = loginFailCount;
    }

    /**
     * 获取角色集合
     */
    public List<Role> getRoles() {
        return roles;
    }

    /**
     * 设置角色集合
     */
    public void setRoles(List<Role> roles) {
        this.roles = roles;
    }

    /**
     * 获取角色名称拼接字符串
     */
    public String getRoleNames() {
        return roleNames;
    }

    /**
     * 设置角色名称拼接字符串
     */
    public void setRoleNames(String roleNames) {
        this.roleNames = roleNames;
    }
}